/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package controller;

import entitas.Buku;
import entitas.DaftarBuku;
import entitas.DaftarPeminjaman;
import entitas.DaftarUser;
import entitas.Peminjaman;
import entitas.User;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

/**
 *
 * @author Tommy
 */
public class LogicPeminjaman {

    HttpServletRequest request;

    public LogicPeminjaman(HttpServletRequest request) {
        this.request = request;
    }

    /* method untuk melakukan fungsi input buku, yaitu mengambil nilai textfield pada form buku
     * untuk kemudian dimasukkan sebagai nilai untuk membuat baris baru pada tabel buku
     */
    public String inputPeminjaman() {
        Peminjaman peminjaman = new Peminjaman();
        DaftarPeminjaman db = new DaftarPeminjaman();
        HttpSession session = request.getSession();

        String namaBuku = request.getParameter("pilihbuku");
        String namaPeminjam = request.getParameter("pilihuser");
        String tanggalPeminjaman = request.getParameter("tanggal_peminjaman");
        String tanggalPengembalian = request.getParameter("tanggal_pengembalian");
        
        if (namaBuku.equals("") || namaPeminjam.equals("") || tanggalPeminjaman.equals("") || tanggalPengembalian.equals("")) {            
            return "errorInputPeminjamanKosong.jsp";
        } else {            
            boolean hasilCheck = db.checkPeminjaman(namaBuku);
            if (!hasilCheck) {                
                peminjaman.setNamaBuku(namaBuku);
                peminjaman.setNamaPeminjam(namaPeminjam);
                peminjaman.setTanggalPeminjaman(tanggalPeminjaman);
                peminjaman.setTanggalPengembalian(tanggalPengembalian);
                
                db.createPeminjaman(peminjaman);

                return "index.jsp";
            } else {
                //session.setAttribute("error", "Buku sudah dipinjam orang lain");
                return "errorBukuDipinjam.jsp";
            }
        }
    }       

    public String lihatPeminjaman() {
        List<Peminjaman> peminjaman = new ArrayList<Peminjaman>();
        DaftarPeminjaman db = new DaftarPeminjaman();

        peminjaman = db.getLends();
        request.setAttribute("lends", peminjaman);
        return "daftarPeminjaman.jsp";
    }    
    
    public void setListBuku() {
        DaftarBuku listBuku = new DaftarBuku();
        HttpSession session = request.getSession();
        List<Buku> list = new ArrayList<Buku>();
        list = listBuku.getBuku();
        session.setAttribute("list_buku", list);
    }
    
    public void setListUser() {
        DaftarUser listUser = new DaftarUser();
        HttpSession session = request.getSession();
        List<User> list = new ArrayList<User>();
        list = listUser.getUsers();
        session.setAttribute("list_user", list);
    }
}
